// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: braces fieldsfirst space lnc
package com.loopj.android.http;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.security.KeyStore;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import org.apache.http.HttpVersion;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpProtocolParams;
// Referenced classes of package com.loopj.android.http:
// x
public class MySSLSocketFactory extends SSLSocketFactory
{
SSLContext a;
public MySSLSocketFactory(KeyStore keystore)
{
super(keystore);
a = SSLContext.getInstance("TLS");
x x1 = new x(this);
a.init(null, new TrustManager[] {
x1
}, null);
}
public static SSLSocketFactory getFixedSocketFactory()
{
MySSLSocketFactory mysslsocketfactory;
try
{
mysslsocketfactory = new MySSLSocketFactory(getKeystore());
mysslsocketfactory.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
}
catch (Throwable throwable)
{
throwable.printStackTrace();
return SSLSocketFactory.getSocketFactory();
}
return mysslsocketfactory;
}
public static KeyStore getKeystore()
{
KeyStore keystore1 = KeyStore.getInstance(KeyStore.getDefaultType());
KeyStore keystore = keystore1;
keystore.load(null, null);
return keystore;
Throwable throwable;
throwable;
Throwable throwable1;
keystore = null;
throwable1 = throwable;
_L2:
throwable1.printStackTrace();
return keystore;
throwable1;
if (true) goto _L2; else goto _L1
_L1:
}
public static KeyStore getKeystoreOfCA(InputStream inputstream)
{
BufferedInputStream bufferedinputstream = null;
BufferedInputStream bufferedinputstream1;
CertificateFactory certificatefactory;
certificatefactory = CertificateFactory.getInstance("X.509");
bufferedinputstream1 = new BufferedInputStream(inputstream);
java.security.cert.Certificate certificate1 = certificatefactory.generateCertificate(bufferedinputstream1);
java.security.cert.Certificate certificate;
KeyStore keystore1;
certificate = certificate1;
String s;
if (bufferedinputstream1 != null)
{
try
{
bufferedinputstream1.close();
}
catch (IOException ioexception2)
{
ioexception2.printStackTrace();
}
}
_L1:
s = KeyStore.getDefaultType();
keystore1 = KeyStore.getInstance(s);
keystore1.load(null, null);
keystore1.setCertificateEntry("ca", certificate);
return keystore1;
CertificateException certificateexception;
certificateexception;
bufferedinputstream1 = null;
_L6:
certificateexception.printStackTrace();
if (bufferedinputstream1 == null)
{
break MISSING_BLOCK_LABEL_103;
}
bufferedinputstream1.close();
certificate = null;
goto _L1
IOException ioexception1;
ioexception1;
ioexception1.printStackTrace();
certificate = null;
goto _L1
Exception exception;
exception;
_L5:
if (bufferedinputstream != null)
{
try
{
bufferedinputstream.close();
}
catch (IOException ioexception)
{
ioexception.printStackTrace();
}
}
throw exception;
Exception exception1;
exception1;
KeyStore keystore;
Exception exception2;
keystore = null;
exception2 = exception1;
_L3:
exception2.printStackTrace();
return keystore;
Exception exception3;
exception3;
keystore = keystore1;
exception2 = exception3;
if (true) goto _L3; else goto _L2
_L2:
exception;
bufferedinputstream = bufferedinputstream1;
if (true) goto _L5; else goto _L4
_L4:
certificateexception;
goto _L6
}
public static DefaultHttpClient getNewHttpClient(KeyStore keystore)
{
DefaultHttpClient defaulthttpclient;
try
{
MySSLSocketFactory mysslsocketfactory = new MySSLSocketFactory(keystore);
SchemeRegistry schemeregistry = new SchemeRegistry();
schemeregistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
schemeregistry.register(new Scheme("https", mysslsocketfactory, 443));
BasicHttpParams basichttpparams = new BasicHttpParams();
HttpProtocolParams.setVersion(basichttpparams, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(basichttpparams, "UTF-8");
defaulthttpclient = new DefaultHttpClient(new ThreadSafeClientConnManager(basichttpparams, schemeregistry), basichttpparams);
}
catch (Exception exception)
{
return new DefaultHttpClient();
}
return defaulthttpclient;
}
public Socket createSocket()
{
return a.getSocketFactory().createSocket();
}
public Socket createSocket(Socket socket, String s, int i, boolean flag)
{
return a.getSocketFactory().createSocket(socket, s, i, flag);
}
public void fixHttpsURLConnection()
{
HttpsURLConnection.setDefaultSSLSocketFactory(a.getSocketFactory());
}
}